package com.wujian.love.core.token;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FormToken {

    /**
     * @return boolean
     * @Author WuJian
     * @Description //需要防重复功能的表单入口URL对应的controller方法需要添加的注解，用于生成token（默认为uuid）
     * @Date 15:30 2020/6/18
     * @Param []
     **/
    boolean save() default false;

    /**
     * @return boolean
     * @Author WuJian
     * @Description //防重复表单提交表单到后台对应的URL的controller方法需要添加的注解，用于第一次成功提交后remove掉token
     * @Date 15:30 2020/6/18
     * @Param []
     **/
    boolean remove() default false;

    /**
     * @return boolean
     * @Author WuJian
     * @Description //是否让token防重复拦截器放过token校验，为true时一般用于ajax提交放过到controller中处理，此功能可以在提交失败后恢复token
     * * //如果拦截到位表单重复提交是否放过让controller处理,默认被拦截器处理返回false;
     * @Date 15:30 2020/6/18
     * @Param []
     **/
    boolean pass() default false;
}
